﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace BGCOP.CAVTOP.BUSINESSLAYER
{
    public class DivisionesEmpresa
    {
        public List<TDivisionEmpresa> ListarTodas()
        {
            masterDBACEntities db = new masterDBACEntities();
            var todos = from d in db.TDivisionEmpresa select d;
            return todos.ToList();
        }
        public List<TDivisionEmpresa> ListarTodas(int idEmp)
        {
            masterDBACEntities db = new masterDBACEntities();
            var todos = from d in db.TDivisionEmpresa where d.IdEmpresa == idEmp select d;
            return todos.ToList();
        }
        public TDivisionEmpresa consulta( string nombre)
        {
            masterDBACEntities db = new masterDBACEntities();
            var todos = (from d in db.TDivisionEmpresa where d.NombreDivision  == nombre select d).First();
            return todos;
        }
        public bool AgregarDivision(TDivisionEmpresa nueva)
        {
            bool tmp = false;
            try
            {
                masterDBACEntities db = new masterDBACEntities();
                TDivisionEmpresa td = nueva;
                db.AddToTDivisionEmpresa(td);
                db.SaveChanges();
            }
            catch (Exception ex)
            {
                Console.WriteLine("en la inmunda!°");
                throw ex;
            }
            
            tmp = true;
            return tmp;
        }
        public bool ModificarDivision(int id, TDivisionEmpresa nueva)
        {
            bool tmp = false;
            masterDBACEntities db = new masterDBACEntities();
            TDivisionEmpresa  td = db.TDivisionEmpresa.FirstOrDefault(c => c.IdDivisionEmpresa == id);
            if (td != null)
            {
                td.NombreDivision = nueva.NombreDivision;
                td.fechaUltimaGestion = nueva.fechaUltimaGestion;
                td.IdEmpresa = nueva.IdEmpresa;
                td.usuarioUltimaGestion = nueva.usuarioUltimaGestion;
                db.SaveChanges();
            }
            tmp = true;
            return tmp;
        }

        public bool EliminarDivision(int id)
        {
            bool tmp = false;
            masterDBACEntities db = new masterDBACEntities();
            TDivisionEmpresa td = db.TDivisionEmpresa.FirstOrDefault(c => c.IdDivisionEmpresa == id);
            db.TDivisionEmpresa.DeleteObject(td);
            db.SaveChanges();
            tmp = true;
            return tmp;
        }
    }
}
